package com.dao;

import com.entity.YonghuEntity;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.pagination.Pagination;

import org.apache.ibatis.annotations.Param;
import com.entity.vo.YonghuVO;
import com.entity.view.YonghuView;

/**
 * 用户数据访问接口
 * 继承自 MyBatis Plus 的 BaseMapper，提供对 Yonghu 实体的基本 CRUD 操作
 *
 * 该接口用于处理与用户相关的数据库操作，包括查询用户的基本信息以及进行分页查询。
 *
 * author: team10
 */
public interface YonghuDao extends BaseMapper<YonghuEntity> {

	/**
	 * 查询符合条件的用户列表 (VO)
	 *
	 * @param wrapper 查询条件包装器
	 * @return 符合条件的用户列表
	 */
	List<YonghuVO> selectListVO(@Param("ew") Wrapper<YonghuEntity> wrapper);

	/**
	 * 查询符合条件的单个用户 (VO)
	 *
	 * @param wrapper 查询条件包装器
	 * @return 符合条件的单个用户
	 */
	YonghuVO selectVO(@Param("ew") Wrapper<YonghuEntity> wrapper);

	/**
	 * 查询符合条件的用户列表 (View)
	 *
	 * @param wrapper 查询条件包装器
	 * @return 符合条件的用户视图列表
	 */
	List<YonghuView> selectListView(@Param("ew") Wrapper<YonghuEntity> wrapper);

	/**
	 * 查询符合条件的用户列表 (分页)
	 *
	 * @param page 分页参数
	 * @param wrapper 查询条件包装器
	 * @return 符合条件的分页用户视图列表
	 */
	List<YonghuView> selectListView(Pagination page, @Param("ew") Wrapper<YonghuEntity> wrapper);

	/**
	 * 查询符合条件的单个用户视图
	 *
	 * @param wrapper 查询条件包装器
	 * @return 符合条件的单个用户视图
	 */
	YonghuView selectView(@Param("ew") Wrapper<YonghuEntity> wrapper);
}
